跳到主要内容

调用程序地址过滤器

调用程序地址过滤器用于判断交易中涉及的程序地址(Program Account)是否需要纳入后续风控计算,从而控制通过程序调用产生的资产流动。


一、过滤器定位

该过滤器是资产过滤体系中用于控制交易中调用程序的安全边界的机制。
它决定哪些程序地址的调用会进入后续风控规则的计算,从而避免通过未经允许的程序改变钱包或传递账号的资产。

  • 解决的问题:防止交易调用未经授权的程序进行资产转移或生成
  • 与其他资产过滤器区别:它不直接控制资产,而是控制程序的调用权限范围,用于间接保护资产安全

二、作用对象

  • 交易中调用的程序地址(Program Account)列表
  • 仅针对调用程序进行控制,不涉及钱包或传递账号的直接资产

注意:该过滤器不控制交易成功与否,仅用于决定程序调用是否触发后续风控规则。


三、参数说明

调用程序地址过滤器支持基于程序地址的白名单或黑名单匹配策略:

  • 白名单模式(InList)

    • 仅将列表中的程序地址纳入后续风控计算
    • 不在列表中的程序地址调用不会触发本过滤器对应的风控计算
  • 黑名单模式(NotInList)

    • 列表中的程序地址调用将被排除在后续风控计算之外
    • 不在列表中的程序地址调用将进入后续风控计算

程序地址列表以链上程序公钥(Pubkey)进行配置。

注意:该过滤器不直接限制交易执行,仅用于决定调用程序是否纳入后续风控规则的判断范围。


四、经典使用场景

  • 白名单模式(InList)

    • 只允许交易调用列表中指定的链上程序及其特定方法
    • 非列表程序或非指定方法的调用不会触发风控计算
  • 黑名单模式(NotInList)

    • 不允许交易调用列表中的链上程序
    • 只有不在列表中的程序调用才会进入后续风控计算

注意:调用程序地址过滤器本身不直接影响交易执行或资产安全,仅用于确定程序调用是否纳入后续风控计算。
该过滤器必须结合具体的风控规则(例如程序参数限制等)才能生效。 不可与单次交易额度限制、周期交易总量限制等结合使用